(define (count-pairs x)
    (if (not (pair? x))
        0
        (+ 
            (count-pairs (car x))
            (count-pairs (cdr x))
            1
        )
    )
)
;3个
(define A0 (cons (cons 1 2) (cons 3 4 )))
;4个
(define A1 (cons 1 2))
(define B1 (cons A1 A1))
(define C1 (cons B1 3))
;7个
(define A2 (cons 1 2))
(define B2 (cons A2 A2))
(define C2 (cons B2 B2))

;死循环
(define A3 (cons 1 `()))
(define B3 (cons 2 A3))
(set-cdr! A3 B3)
(define C3 (cons A3 B3))

(display (count-pairs A0))
(newline)
(display (count-pairs C1))
(newline)
(display (count-pairs C2))
(newline)
(display (count-pairs C3))
(exit)